/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package modele;

import exception.CombinaisonInconnue;
import java.util.Map;

/**
 * Classe abstraite IA que se doivent d'étendre toutes les classes
 * qui implémente une intelligence artificielle
 * @author Florian MININ & Khémon BEH
 */
public abstract class IA extends AbstractJoueur {

    /**
     * Constructeur par défaut 
     * @param numJoueur
     */
    public IA(int numJoueur){
        super(numJoueur);
        nom = "CPU";
    }

    /**
     * Méthode abstraite qui doit être implémentée dans le(s) classe(s) filles.
     * Elle prend en paramètre le modèle pour choisir les données et retourne
     * le nom de la combinaison choisie
     * @param modele
     * @return String nom de la combinaison choisie par l'IA
     * @throws CombinaisonInconnue
     */
    public abstract String jouerCoup(ModeleYamsInterface modele) throws CombinaisonInconnue;
}
